1. Field of the Invention
The present invention relates to embedding data.
2. Related Art
Software development is currently being carried out across a number of different platforms and frameworks.
Software localization includes the translation of a software application's user interface (UI) messages. Although software is usually developed in a programming language that is universal, the software generally includes UI messages written in a language not understood by potential international users. For this reason, software localization is necessary for international distribution and marketing.
One way to localize a software application is simply extracting the UI messages from the source code, listing the user interface messages for a translator, and enabling the translator to translate each user interface message individually. For example, the messages may include some fragments of text that populate user interfaces such as “cancel”, “ok”, and “back”. The messages are then presented to a translator to be translated into a different language. A problem with this approach is that the translator may not know the context of when and where the UI messages appear. Because these messages are out of context, it is very difficult to translate them correctly. This is especially true for messages that include so-called “placeholders” that require input, e.g. addresses, dates, credit card numbers, etc.
Software is often developed using application frameworks. Some application frameworks use rich resource formats, such as Microsoft's .RESX and Apple's .NIB, to enrich the messages with some layout information. These rich resource formats may provide the translator with some context information helpful for translating the user interface messages. However such formats are not available for other frameworks, especially cross-platform frameworks, web applications, and mobile applications.
Other applications aside from software localization also have solutions that do not work across frameworks or platforms. In particular, applications that enable a user to report a bug, to request a feature, and to track usage tend to be tied to a particular platform or framework.